package com.ylsk.check.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 报备信息对象 ins_report_info
 *
 * @author yangsy
 * @date 2023-12-13
 */
@Data
public class ReportInfoDTO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long reportInfoId;

    /** 报备单号（流水号按照一定的规则生成） */
    @ApiModelProperty(name = "报备单号")
    private String reportNum;

    @ApiModelProperty(name = "项目名称")
    private String projectName;

    /** 备案日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "备案日期")
    private Date filingDate;

    /** 建设单位 */
    @ApiModelProperty(name = "建设单位")
    private String buildUnit;

    /** 施工单位 */
    @ApiModelProperty(name = "施工单位")
    private String construnctionUnit;

    /** 施工内容 */
    @ApiModelProperty(name = "施工内容")
    private String construnctionContent;

    /** 许可时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "许可时间")
    private Date licenseTime;

    /** 批准文号 */
    @ApiModelProperty(name = "批准文号")
    private String approvalNumber;

    /** 施工开始路段id */
    @ApiModelProperty(name = "施工开始路段id")
    private Long expresswayStartSectionId;

    /** 施工结束路段id */
    @ApiModelProperty(name = "施工结束路段id")
    private Long expresswayEndSectionId;

    /** 施工开始方向 */
    @ApiModelProperty(name = "施工开始方向")
    private String constructionStartDirection;

    /** 施工结束方向 */
    @ApiModelProperty(name = "施工结束方向")
    private String constructionEndDirection;

    /** 施工开始桩号km */
    @ApiModelProperty(name = "施工开始桩号km")
    private String constructionStartKm;

    /** 施工开始桩号m */
    @ApiModelProperty(name = "施工开始桩号m")
    private String constructionStartM;

    /** 施工结束桩号km */
    @ApiModelProperty(name = "施工结束桩号km")
    private String constructionEndKm;

    /** 施工结束桩号m */
    @ApiModelProperty(name = "施工结束桩号m")
    private String constructionEndM;

    /** 施工类型 */
    @ApiModelProperty(name = "施工类型")
    private Integer constructionType;

    /** 现场负责人 */
    @ApiModelProperty(name = "现场负责人")
    private String head;

    /** 联系电话 */
    @ApiModelProperty(name = "联系电话")
    private String telePhone;

    /** 施工开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "施工开始时间")
    private Date construnctionStartTime;

    /** 施工完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "施工完成时间")
    private Date construnctionEndTime;

    /** 施工开始时段 */
    @JsonFormat(pattern = "HH:mm:ss")
    private Date startTimePeriod;

    /** 施工结束时段 */
    @JsonFormat(pattern = "HH:mm:ss")
    private Date endTimePeriod;

    /** 计划进场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "计划进场时间")
    private Date planInTime;

    /** 施工组织方案FileId */
    //private Long organizationFileId;

    /** 施工组织方案 */
    private String organizationFile;

    /** 施工许可文件FileId */
    //private Long licenseFileId;

    /** 施工许可文件 */
    private String licenseFile;

    /** 交通组织方案FileId */
    //private Long trafficFileId;

    /** 交通组织方案 */
    private String trafficFile;

    /** 应急预案FileId */
    //private Long emergencyPlanFileId;

    /** 应急预案 */
    private String emergencyPlanFile;

    /** 安全培训材料FileId */
    //private Long safetyTrainingFileId;

    /** 安全培训材料*/
    private String safetyTrainingFile;

    /** 资质证明材料FileId */
    //private Long qualificationCertificationFileId;

    /** 资质证明材料 */
    private String qualificationCertificationFile;

    /** 其他材料FileId */
    //private Long otherFileId;

    /** 其他材料 */
    private String otherFile;

    /** 备注 */
    private String remark;

    /** 所属大队 */
    @ApiModelProperty(name = "所属大队")
    private Long deptId;

    /** 0：草稿 1：提交（待接收） 2：通过 3：驳回 */
    private Integer reportStatus;
}
